package cn.edu.sdjzu.knoverse.model.vo.kg;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;

/**
 * 知识点树形结构VO
 */
@Data
public class KnowledgeTreeVO {
    /**
     * 课程ID
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @JsonProperty("id")
    private String id;
    
    /**
     * 课程名称
     */
    @JsonProperty("label")
    private String label;
    
    /**
     * 子节点列表
     */
    private List<KnowledgeTreeNodeVO> children;
    
    /**
     * 知识点节点VO
     */
    @Data
    public static class KnowledgeTreeNodeVO {
        /**
         * 知识点ID
         */
        @JsonFormat(shape = JsonFormat.Shape.STRING)
        @JsonProperty("id")
        private String id;
        
        /**
         * 知识点名称
         */
        @JsonProperty("label")
        private String label;
        
        /**
         * 难度级别
         */
        private Integer level;
        
        /**
         * 是否为叶子节点
         */
        private Boolean isLeaf = true;
    }
} 